#include "Punto.h"
#include "Figura.h"
#include "Cuadrado.h"
#include "Circulo.h"
#include "operaciones.h"
#include <iostream>
#include <string>
#include <math.h>


using namespace std;

int main ()
{
    int opcion=0, Aux=0, i=0; 
    string figura; 
    double aux=0.0;	
    Circulo circ;
    Cuadrado cuad;
    Punto a;
		

    do{
        cout<<"Elige una figura: circulo o cuadrado"<<endl;
        cin>>figura;
        if (figura == "circulo"){
            cout<<"As elegido un circulo"<<endl;
	}
        else
            if (figura == "cuadrado"){
                 cout<<"As elegido un cuadrado"<<endl;
	    }
            else
                cout<<"Opción invalida."<<endl;
    }
    while((figura != "circulo") && (figura != "cuadrado"));


    do
    {
        cout<<"elige una opcion de las mostradas a continuacion"<<endl;
        cout<<"1: Mover figura"<<endl;
        cout<<"2: Redimensionar area"<<endl;
        cout<<"3: Cambiar color de la figura"<<endl;
        cout<<"4: Ver posicion de la figura"<<endl;
        cout<<"5: Ver area de la figura"<<endl;
        cout<<"6: Ver perimetro de la figura"<<endl;
	cout<<"7: Ver color de la figura"<<endl;
        cout<<"8: Salir del Programa"<<endl;
        cin>>opcion;
        switch (opcion)
        {
            case 1:
			cout<<"caso en construccion, disculpen las molestias"<<endl; 	
                break;
            case 2:
			if (figura == "cuadrado"){
				aux=0.0;
				cout<<"introduce el nuevo valor del lado del cuadrado"<<endl;
				cin>>aux;
				cuad.setLado(aux);
				cuad.calcularArea();
				cuad.calcularPerimetro();
			}
			else 
				aux=0.0;
				cout<<"introduce el nuevo valor del radio del circulo"<<endl;
				cin>>aux;
				circ.setRadio(aux);
				circ.calcularArea();
				circ.calcularPerimetro();
                break;
            case 3:
			if (figura == "cuadrado"){
				do
				{
					i=0;
					cout<<"Selecciona el color del cuadrado 1.Negro 2.Blanco 3.Rojo 4.Azul"<<endl;
					cin>>Aux;
					if (Aux!=1 && Aux!=2 && Aux!=3 && Aux!=4){
						cout<<"Por favor elige una opcion de las posibles"<<endl;
						i=1;}
					else
						cuad.setColor(Aux);
				}while(i!=0);
			}
			else
				do
				{
					i=0;
					cout<<"Selecciona el color del circulo 1.Negro 2.Blanco 3.Rojo 4.Azul"<<endl;
					cin>>Aux;
					if (Aux!=1 && Aux!=2 && Aux!=3 && Aux!=4){
						cout<<"Por favor elige una opcion de las posibles"<<endl;
						i=1;
					}
					else
						circ.setColor(Aux);
				}while(i!=0);
                break;
            case 4:
			cout<<"caso en construccion, disculpen las molestias"<<endl;
                break;
            case 5:
			if (figura == "cuadrado"){
				aux=cuad.getArea();
				cout<<"El area del cuadrado es: "<<aux<<endl;
			}
			else
				aux=circ.getArea();
				cout<<"El area del circulo es: "<<aux<<endl;
                break;
            case 6:
			if (figura == "cuadrado"){
				aux=cuad.getPerimetro();
				cout<<"El perimetro del cuadrado es: "<<aux<<endl;
			}
			else
				aux=circ.getPerimetro();
				cout<<" El perimetro del circulo es: "<<aux<<endl;
                break;
	    case 7:
			if (figura == "cuadrado"){
				Aux=cuad.getColor();
				switch (Aux)
				{
					case 1:
						cout<<"Tu cuadrado es de color Negro"<<endl;
					break;
					case 2:
						cout<<"Tu cuadrado es de color Blanco"<<endl;
					break;
					case 3:
						cout<<"Tu cuadrado es de color Rojo"<<endl;
					break;
					case 4:
						cout<<"Tu cuadrado es de color Azul"<<endl;
					break;
					default: 
						cout<<"Error en la implementacion de esta opcion avise a su programador"<<endl;
				}
			}
			else
				Aux=circ.getColor();
				switch (Aux)
				{
					case 1:
						cout<<"Tu cuadrado es de color Negro"<<endl;
					break;
					case 2:
						cout<<"Tu cuadrado es de color Blanco"<<endl;
					break;
					case 3:
						cout<<"Tu cuadrado es de color Rojo"<<endl;
					break;
					case 4:
						cout<<"Tu cuadrado es de color Azul"<<endl;
					break;
					default: 
						cout<<"Error en la implementacion de esta opcion avise a su programador"<<endl;
				}
		break;
            case 8:
                	cout<<"gracias por utilizar este programa"<<endl;
		break;
            default:
                	cout<<"Por favor elige una opcion del menu"<<endl;
        }
    }while (opcion!=8);
}
